#define PERL_constant_NOTFOUND	1
#define PERL_constant_NOTDEF	2
#define PERL_constant_ISIV	3
#define PERL_constant_ISNO	4
#define PERL_constant_ISNV	5
#define PERL_constant_ISPV	6
#define PERL_constant_ISPVN	7
#define PERL_constant_ISSV	8
#define PERL_constant_ISUNDEF	9
#define PERL_constant_ISUV	10
#define PERL_constant_ISYES	11

#ifndef NVTYPE
typedef double NV; /* 5.6 and later define NVTYPE, and typedef NV to it.  */
#endif
#ifndef aTHX_
#define aTHX_ /* 5.6 or later define this for threading support.  */
#endif
#ifndef pTHX_
#define pTHX_ /* 5.6 or later define this for threading support.  */
#endif

static int
constant_7 (pTHX_ const char *name, IV *iv_return) {
  /* When generated this function returned values for the list of names given
     here.  However, subsequent manual editing may have added or removed some.
     ATH_EOA ATH_OFF ATH_OPN */
  /* Offset 5 gives the best switch position.  */
  switch (name[5]) {
  case 'F':
    if (memEQ(name, "ATH_OFF", 7)) {
    /*                    ^       */
#ifdef ATH_OFF
      *iv_return = ATH_OFF;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'O':
    if (memEQ(name, "ATH_EOA", 7)) {
    /*                    ^       */
#ifdef ATH_EOA
      *iv_return = ATH_EOA;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'P':
    if (memEQ(name, "ATH_OPN", 7)) {
    /*                    ^       */
#ifdef ATH_OPN
      *iv_return = ATH_OPN;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  }
  return PERL_constant_NOTFOUND;
}

static int
constant_11 (pTHX_ const char *name, IV *iv_return) {
  /* When generated this function returned values for the list of names given
     here.  However, subsequent manual editing may have added or removed some.
     ATH_CASE_IN ATH_CASE_ON ATH_CASE_UP */
  /* Offset 9 gives the best switch position.  */
  switch (name[9]) {
  case 'I':
    if (memEQ(name, "ATH_CASE_IN", 11)) {
    /*                        ^        */
#ifdef ATH_CASE_IN
      *iv_return = ATH_CASE_IN;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'O':
    if (memEQ(name, "ATH_CASE_ON", 11)) {
    /*                        ^        */
#ifdef ATH_CASE_ON
      *iv_return = ATH_CASE_ON;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'U':
    if (memEQ(name, "ATH_CASE_UP", 11)) {
    /*                        ^        */
#ifdef ATH_CASE_UP
      *iv_return = ATH_CASE_UP;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  }
  return PERL_constant_NOTFOUND;
}

static int
constant_12 (pTHX_ const char *name, IV *iv_return) {
  /* When generated this function returned values for the list of names given
     here.  However, subsequent manual editing may have added or removed some.
     ATH_ALGO_CPU ATH_ALGO_CU0 ATH_ALGO_CU1 ATH_ALGO_CU2 ATH_ALGO_CU3
     ATH_ALGO_CU4 ATH_ALGO_CU5 ATH_ALGO_CU6 ATH_ALGO_CU7 ATH_ALGO_CU8
     ATH_ALGO_CU9 ATH_ALGO_DIS ATH_ALGO_DYN ATH_ALGO_LOD ATH_ALGO_MEM
     ATH_ALGO_NET ATH_ALGO_NON ATH_ALGO_ROR ATH_ALGO_SIM ATH_CASE_ESC
     ATH_CASE_FMT ATH_CASE_SPC ATH_CASE_TTL ATH_NAME_MAX */
  /* Offset 11 gives the best switch position.  */
  switch (name[11]) {
  case '0':
    if (memEQ(name, "ATH_ALGO_CU", 11)) {
    /*                          0      */
#ifdef ATH_ALGO_CU0
      *iv_return = ATH_ALGO_CU0;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case '1':
    if (memEQ(name, "ATH_ALGO_CU", 11)) {
    /*                          1      */
#ifdef ATH_ALGO_CU1
      *iv_return = ATH_ALGO_CU1;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case '2':
    if (memEQ(name, "ATH_ALGO_CU", 11)) {
    /*                          2      */
#ifdef ATH_ALGO_CU2
      *iv_return = ATH_ALGO_CU2;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case '3':
    if (memEQ(name, "ATH_ALGO_CU", 11)) {
    /*                          3      */
#ifdef ATH_ALGO_CU3
      *iv_return = ATH_ALGO_CU3;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case '4':
    if (memEQ(name, "ATH_ALGO_CU", 11)) {
    /*                          4      */
#ifdef ATH_ALGO_CU4
      *iv_return = ATH_ALGO_CU4;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case '5':
    if (memEQ(name, "ATH_ALGO_CU", 11)) {
    /*                          5      */
#ifdef ATH_ALGO_CU5
      *iv_return = ATH_ALGO_CU5;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case '6':
    if (memEQ(name, "ATH_ALGO_CU", 11)) {
    /*                          6      */
#ifdef ATH_ALGO_CU6
      *iv_return = ATH_ALGO_CU6;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case '7':
    if (memEQ(name, "ATH_ALGO_CU", 11)) {
    /*                          7      */
#ifdef ATH_ALGO_CU7
      *iv_return = ATH_ALGO_CU7;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case '8':
    if (memEQ(name, "ATH_ALGO_CU", 11)) {
    /*                          8      */
#ifdef ATH_ALGO_CU8
      *iv_return = ATH_ALGO_CU8;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case '9':
    if (memEQ(name, "ATH_ALGO_CU", 11)) {
    /*                          9      */
#ifdef ATH_ALGO_CU9
      *iv_return = ATH_ALGO_CU9;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'C':
    if (memEQ(name, "ATH_CASE_ES", 11)) {
    /*                          C      */
#ifdef ATH_CASE_ESC
      *iv_return = ATH_CASE_ESC;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    if (memEQ(name, "ATH_CASE_SP", 11)) {
    /*                          C      */
#ifdef ATH_CASE_SPC
      *iv_return = ATH_CASE_SPC;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'D':
    if (memEQ(name, "ATH_ALGO_LO", 11)) {
    /*                          D      */
#ifdef ATH_ALGO_LOD
      *iv_return = ATH_ALGO_LOD;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'L':
    if (memEQ(name, "ATH_CASE_TT", 11)) {
    /*                          L      */
#ifdef ATH_CASE_TTL
      *iv_return = ATH_CASE_TTL;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'M':
    if (memEQ(name, "ATH_ALGO_ME", 11)) {
    /*                          M      */
#ifdef ATH_ALGO_MEM
      *iv_return = ATH_ALGO_MEM;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    if (memEQ(name, "ATH_ALGO_SI", 11)) {
    /*                          M      */
#ifdef ATH_ALGO_SIM
      *iv_return = ATH_ALGO_SIM;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'N':
    if (memEQ(name, "ATH_ALGO_DY", 11)) {
    /*                          N      */
#ifdef ATH_ALGO_DYN
      *iv_return = ATH_ALGO_DYN;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    if (memEQ(name, "ATH_ALGO_NO", 11)) {
    /*                          N      */
#ifdef ATH_ALGO_NON
      *iv_return = ATH_ALGO_NON;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'R':
    if (memEQ(name, "ATH_ALGO_RO", 11)) {
    /*                          R      */
#ifdef ATH_ALGO_ROR
      *iv_return = ATH_ALGO_ROR;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'S':
    if (memEQ(name, "ATH_ALGO_DI", 11)) {
    /*                          S      */
#ifdef ATH_ALGO_DIS
      *iv_return = ATH_ALGO_DIS;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'T':
    if (memEQ(name, "ATH_ALGO_NE", 11)) {
    /*                          T      */
#ifdef ATH_ALGO_NET
      *iv_return = ATH_ALGO_NET;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    if (memEQ(name, "ATH_CASE_FM", 11)) {
    /*                          T      */
#ifdef ATH_CASE_FMT
      *iv_return = ATH_CASE_FMT;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'U':
    if (memEQ(name, "ATH_ALGO_CP", 11)) {
    /*                          U      */
#ifdef ATH_ALGO_CPU
      *iv_return = ATH_ALGO_CPU;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'X':
    if (memEQ(name, "ATH_NAME_MA", 11)) {
    /*                          X      */
#ifdef ATH_NAME_MAX
      *iv_return = ATH_NAME_MAX;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  }
  return PERL_constant_NOTFOUND;
}

static int
constant_13 (pTHX_ const char *name, IV *iv_return) {
  /* When generated this function returned values for the list of names given
     here.  However, subsequent manual editing may have added or removed some.
     ATH_CASE_ALGO ATH_CASE_DURL ATH_CASE_FARM ATH_CASE_OURL ATH_CASE_PHYS
     ATH_CASE_RTTL ATH_READ_ONLY */
  /* Offset 9 gives the best switch position.  */
  switch (name[9]) {
  case 'A':
    if (memEQ(name, "ATH_CASE_ALGO", 13)) {
    /*                        ^          */
#ifdef ATH_CASE_ALGO
      *iv_return = ATH_CASE_ALGO;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'D':
    if (memEQ(name, "ATH_CASE_DURL", 13)) {
    /*                        ^          */
#ifdef ATH_CASE_DURL
      *iv_return = ATH_CASE_DURL;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'F':
    if (memEQ(name, "ATH_CASE_FARM", 13)) {
    /*                        ^          */
#ifdef ATH_CASE_FARM
      *iv_return = ATH_CASE_FARM;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'O':
    if (memEQ(name, "ATH_CASE_OURL", 13)) {
    /*                        ^          */
#ifdef ATH_CASE_OURL
      *iv_return = ATH_CASE_OURL;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    if (memEQ(name, "ATH_READ_ONLY", 13)) {
    /*                        ^          */
#ifdef ATH_READ_ONLY
      *iv_return = ATH_READ_ONLY;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'P':
    if (memEQ(name, "ATH_CASE_PHYS", 13)) {
    /*                        ^          */
#ifdef ATH_CASE_PHYS
      *iv_return = ATH_CASE_PHYS;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'R':
    if (memEQ(name, "ATH_CASE_RTTL", 13)) {
    /*                        ^          */
#ifdef ATH_CASE_RTTL
      *iv_return = ATH_CASE_RTTL;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  }
  return PERL_constant_NOTFOUND;
}

static int
constant_14 (pTHX_ const char *name, IV *iv_return) {
  /* When generated this function returned values for the list of names given
     here.  However, subsequent manual editing may have added or removed some.
     ATH_ALGO_MAXEX ATH_ALGO_TYPES ATH_CASE_ADD_P ATH_CASE_MTIME ATH_CASE_REM_P
     ATH_CASE_STATS ATH_READ_WRITE */
  /* Offset 9 gives the best switch position.  */
  switch (name[9]) {
  case 'A':
    if (memEQ(name, "ATH_CASE_ADD_P", 14)) {
    /*                        ^           */
#ifdef ATH_CASE_ADD_P
      *iv_return = ATH_CASE_ADD_P;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'M':
    if (memEQ(name, "ATH_ALGO_MAXEX", 14)) {
    /*                        ^           */
#ifdef ATH_ALGO_MAXEX
      *iv_return = ATH_ALGO_MAXEX;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    if (memEQ(name, "ATH_CASE_MTIME", 14)) {
    /*                        ^           */
#ifdef ATH_CASE_MTIME
      *iv_return = ATH_CASE_MTIME;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'R':
    if (memEQ(name, "ATH_CASE_REM_P", 14)) {
    /*                        ^           */
#ifdef ATH_CASE_REM_P
      *iv_return = ATH_CASE_REM_P;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'S':
    if (memEQ(name, "ATH_CASE_STATS", 14)) {
    /*                        ^           */
#ifdef ATH_CASE_STATS
      *iv_return = ATH_CASE_STATS;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'T':
    if (memEQ(name, "ATH_ALGO_TYPES", 14)) {
    /*                        ^           */
#ifdef ATH_ALGO_TYPES
      *iv_return = ATH_ALGO_TYPES;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'W':
    if (memEQ(name, "ATH_READ_WRITE", 14)) {
    /*                        ^           */
#ifdef ATH_READ_WRITE
      *iv_return = ATH_READ_WRITE;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  }
  return PERL_constant_NOTFOUND;
}

static int
constant_15 (pTHX_ const char *name, IV *iv_return) {
  /* When generated this function returned values for the list of names given
     here.  However, subsequent manual editing may have added or removed some.
     ATH_ALGO_FIELDS ATH_CASE_CHOSEN ATH_CASE_EXPECT ATH_CASE_E_PATH
     ATH_CASE_F_MEMB ATH_CASE_F_NAME ATH_CASE_NOMINA ATH_CASE_P_HOST
     ATH_CASE_P_MEMB ATH_CASE_SERIAL ATH_CASE_URLESC */
  /* Offset 14 gives the best switch position.  */
  switch (name[14]) {
  case 'A':
    if (memEQ(name, "ATH_CASE_NOMIN", 14)) {
    /*                             A      */
#ifdef ATH_CASE_NOMINA
      *iv_return = ATH_CASE_NOMINA;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'B':
    if (memEQ(name, "ATH_CASE_F_MEM", 14)) {
    /*                             B      */
#ifdef ATH_CASE_F_MEMB
      *iv_return = ATH_CASE_F_MEMB;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    if (memEQ(name, "ATH_CASE_P_MEM", 14)) {
    /*                             B      */
#ifdef ATH_CASE_P_MEMB
      *iv_return = ATH_CASE_P_MEMB;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'C':
    if (memEQ(name, "ATH_CASE_URLES", 14)) {
    /*                             C      */
#ifdef ATH_CASE_URLESC
      *iv_return = ATH_CASE_URLESC;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'E':
    if (memEQ(name, "ATH_CASE_F_NAM", 14)) {
    /*                             E      */
#ifdef ATH_CASE_F_NAME
      *iv_return = ATH_CASE_F_NAME;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'H':
    if (memEQ(name, "ATH_CASE_E_PAT", 14)) {
    /*                             H      */
#ifdef ATH_CASE_E_PATH
      *iv_return = ATH_CASE_E_PATH;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'L':
    if (memEQ(name, "ATH_CASE_SERIA", 14)) {
    /*                             L      */
#ifdef ATH_CASE_SERIAL
      *iv_return = ATH_CASE_SERIAL;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'N':
    if (memEQ(name, "ATH_CASE_CHOSE", 14)) {
    /*                             N      */
#ifdef ATH_CASE_CHOSEN
      *iv_return = ATH_CASE_CHOSEN;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'S':
    if (memEQ(name, "ATH_ALGO_FIELD", 14)) {
    /*                             S      */
#ifdef ATH_ALGO_FIELDS
      *iv_return = ATH_ALGO_FIELDS;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'T':
    if (memEQ(name, "ATH_CASE_EXPEC", 14)) {
    /*                             T      */
#ifdef ATH_CASE_EXPECT
      *iv_return = ATH_CASE_EXPECT;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    if (memEQ(name, "ATH_CASE_P_HOS", 14)) {
    /*                             T      */
#ifdef ATH_CASE_P_HOST
      *iv_return = ATH_CASE_P_HOST;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  }
  return PERL_constant_NOTFOUND;
}

static int
constant_16 (pTHX_ const char *name, IV *iv_return) {
  /* When generated this function returned values for the list of names given
     here.  However, subsequent manual editing may have added or removed some.
     ATH_CASE_HITADDS ATH_FARM_HARDMAX ATH_MUXS_HARDMAX ATH_PHYS_HARDMAX */
  /* Offset 6 gives the best switch position.  */
  switch (name[6]) {
  case 'R':
    if (memEQ(name, "ATH_FARM_HARDMAX", 16)) {
    /*                     ^                */
#ifdef ATH_FARM_HARDMAX
      *iv_return = ATH_FARM_HARDMAX;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'S':
    if (memEQ(name, "ATH_CASE_HITADDS", 16)) {
    /*                     ^                */
#ifdef ATH_CASE_HITADDS
      *iv_return = ATH_CASE_HITADDS;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'X':
    if (memEQ(name, "ATH_MUXS_HARDMAX", 16)) {
    /*                     ^                */
#ifdef ATH_MUXS_HARDMAX
      *iv_return = ATH_MUXS_HARDMAX;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 'Y':
    if (memEQ(name, "ATH_PHYS_HARDMAX", 16)) {
    /*                     ^                */
#ifdef ATH_PHYS_HARDMAX
      *iv_return = ATH_PHYS_HARDMAX;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  }
  return PERL_constant_NOTFOUND;
}

static int
constant (pTHX_ const char *name, STRLEN len, IV *iv_return) {
  /* Initially switch on the length of the name.  */
  /* When generated this function returned values for the list of names given
     in this section of perl code.  Rather than manually editing these functions
     to add or remove constants, which would result in this comment and section
     of code becoming inaccurate, we recommend that you edit this section of
     code, and use it to regenerate a new set of constant functions which you
     then use to replace the originals.

     Regenerate these constant functions by feeding this entire source file to
     perl -x

#!/usr/bin/perl -w
use ExtUtils::Constant qw (constant_types C_constant XS_constant);

my $types = {map {($_, 1)} qw(IV)};
my @names = (qw(ATH_ALGO_CPU ATH_ALGO_CU0 ATH_ALGO_CU1 ATH_ALGO_CU2
	       ATH_ALGO_CU3 ATH_ALGO_CU4 ATH_ALGO_CU5 ATH_ALGO_CU6 ATH_ALGO_CU7
	       ATH_ALGO_CU8 ATH_ALGO_CU9 ATH_ALGO_DIS ATH_ALGO_DYN
	       ATH_ALGO_FIELDS ATH_ALGO_LOD ATH_ALGO_MAXEX ATH_ALGO_MEM
	       ATH_ALGO_NET ATH_ALGO_NON ATH_ALGO_ROR ATH_ALGO_SIM
	       ATH_ALGO_TYPES ATH_CASE_ADD_P ATH_CASE_ALGO ATH_CASE_CHOSEN
	       ATH_CASE_DURL ATH_CASE_ESC ATH_CASE_EXPECT ATH_CASE_E_PATH
	       ATH_CASE_FARM ATH_CASE_FMT ATH_CASE_F_MEMB ATH_CASE_F_NAME
	       ATH_CASE_HITADDS ATH_CASE_IN ATH_CASE_MTIME ATH_CASE_NOMINA
	       ATH_CASE_ON ATH_CASE_OURL ATH_CASE_PHYS ATH_CASE_P_HOST
	       ATH_CASE_P_MEMB ATH_CASE_REM_P ATH_CASE_RTTL ATH_CASE_SERIAL
	       ATH_CASE_SPC ATH_CASE_STATS ATH_CASE_TTL ATH_CASE_UP
	       ATH_CASE_URLESC ATH_DOWN ATH_EOA ATH_FARM_HARDMAX
	       ATH_MUXS_HARDMAX ATH_NAME_MAX ATH_OFF ATH_ON ATH_OPN
	       ATH_PHYS_HARDMAX ATH_READ_ONLY ATH_READ_WRITE ATH_UP));

print constant_types(); # macro defs
foreach (C_constant ("Athena", 'constant', 'IV', $types, undef, 3, @names) ) {
    print $_, "\n"; # C constant subs
}
print "#### XS Section:\n";
print XS_constant ("Athena", $types);
__END__
   */

  switch (len) {
  case 6:
    /* Names all of length 6.  */
    /* ATH_ON ATH_UP */
    /* Offset 5 gives the best switch position.  */
    switch (name[5]) {
    case 'N':
      if (memEQ(name, "ATH_O", 5)) {
      /*                    N     */
#ifdef ATH_ON
        *iv_return = ATH_ON;
        return PERL_constant_ISIV;
#else
        return PERL_constant_NOTDEF;
#endif
      }
      break;
    case 'P':
      if (memEQ(name, "ATH_U", 5)) {
      /*                    P     */
#ifdef ATH_UP
        *iv_return = ATH_UP;
        return PERL_constant_ISIV;
#else
        return PERL_constant_NOTDEF;
#endif
      }
      break;
    }
    break;
  case 7:
    return constant_7 (aTHX_ name, iv_return);
    break;
  case 8:
    if (memEQ(name, "ATH_DOWN", 8)) {
#ifdef ATH_DOWN
      *iv_return = ATH_DOWN;
      return PERL_constant_ISIV;
#else
      return PERL_constant_NOTDEF;
#endif
    }
    break;
  case 11:
    return constant_11 (aTHX_ name, iv_return);
    break;
  case 12:
    return constant_12 (aTHX_ name, iv_return);
    break;
  case 13:
    return constant_13 (aTHX_ name, iv_return);
    break;
  case 14:
    return constant_14 (aTHX_ name, iv_return);
    break;
  case 15:
    return constant_15 (aTHX_ name, iv_return);
    break;
  case 16:
    return constant_16 (aTHX_ name, iv_return);
    break;
  }
  return PERL_constant_NOTFOUND;
}

